The present invention addresses a variety of problems that are encountered in the context of allowing merchants and consumers to efficiently and reliability engage in electronic commerce over the Internet.
Various approaches exist for allowing merchants and consumers to exchange and process information, via the Internet, for the purpose of buying and selling goods. One common approach involves the use of the World Wide Web's Hypertext Transfer Protocol ("HTTP"), which is a standard client-server protocol for the transfer of hypertext documents (i.e., documents which include textual links to other documents) over the Internet. With this approach, the consumer uses a Web browser to request and download hypertext documents from merchant Web sites. (The client and server software components of the World Wide Web are commonly referred to respectively as the "Web browser," which runs on the user's computer, and the "Web server," which runs on a Web site.) These hypertext documents, which are created using HTML (the Hypertext Markup Language), contain the various product offerings and other purchase-related information of the respective merchants, and typically include forms for allowing consumers to return payment and address information to the merchants. One significant problem with this approach is that the existing World Wide Web components (e.g., HTTP, HTML, and existing standard Web browsers) are not well suited for performing general purpose client-server transactions over the Internet, making it difficult to migrate commerce-related functionality to the client (consumer) side.
Another approach to the problem of performing commerce-related transactions over the Internet involves the use of specialized client and server software components which communicate with one-another using some transport protocol other than HTTP. This approach, which is used by the version 1.0 electronic commerce system of eShop Inc., generally requires the use of some dedicated TCP/IP port other than port 80, which is reserved for HTTP. (TCP/IP is a low level Internet communications protocol which uses port definitions to route messages to applications.) Unfortunately, many company networks have Internet firewalls (i.e., systems which restrict traffic into and/or out of the company network to provide network security) which block traffic on TCP/IP ports other than port 80 (and possibly a few other reserved ports), preventing consumers from using such electronic commerce systems from their computers at work. Additionally, systems of this type do not take advantage of the widespread use by potential consumers of the World Wide Web.
What is needed, therefore, is a client-server transport mechanism which allows consumers and merchants to communicate through Internet firewalls, but which provides sufficient flexibility and extensibility to allow complex electronic commerce functionality to be integrated into client and server software components.